package com.evil.common.mongo.service;

import java.util.function.Predicate;

/**
 * 序号自增
 *
 * @author liyang
 * @date 2025-01-06 16:30
 */
public interface SequenceService {

    /**
     * 序号自增
     *
     * @param seqName 序列名
     * @return 序号
     */
    long generate(String seqName);

    long generate(String seqName, Predicate<Long> exist);

    long generate(String seqName, Predicate<Long> exist, int times);

    /**
     * 清空序号
     *
     * @param seqName 序列名
     */
    void clear(String seqName);
}
